
#ifndef _AirportController_h
#define _AirportController_h

#include <vector>
#include <list>
#include "../utils/Logger.h"
#include "Proceso.h"

//Clase que se encarga de correr la simulacion, encapsula a los aviones como a los controladores aereo
class TowerControl : public Proceso{
public:
	TowerControl(unsigned int runwaysSize,unsigned int cantidadControllers);
	~TowerControl();

	int run();
private:
    std::vector<bool> runways;

	std::vector<pid_t> flightControllersIds;

	unsigned int runwayCount;
	unsigned int cantidadControllers;

	int startNewController(int controllerId);
	void waitAllFlightControllers();
};


#endif
